package ppms.commons.data.controller;

import ppms.commons.data.event.ITreeEvent;
import ppms.commons.data.event.ITreeEventListener;

/**
 * 树形视图控制器
 * @author gavin 2009-4-6
 *
 */
public interface ITreeViewController extends ITreeEvent
{

    /**
     * 添加选中事件侦听
     * @param listener
     */
    public void addSelectedListener(ITreeEventListener listener);
    
    /**
     * 添加选中改变事件侦听
     * @param listener
     */
    public void addSelectChangedListener(ITreeEventListener listener);
    
    /**
     * 移除选中事件侦听
     * @param listener
     */
    public void removeSelectedListener(ITreeEventListener listener);
    
    /**
     * 移除选中改变事件侦听
     * @param listener
     */
    public void removeSelectChangedListener(ITreeEventListener listener);
    
    /**
     * 添加树节点展开事件侦听
     * @param dataEntity
     */
    public void addExpandListener(ITreeEventListener listener);
    
    /**
     * 添加树节点折叠事件侦听
     * @param dataEntity
     */
    public void addCollapseListener(ITreeEventListener listener);
    
    /**
     * 移除树节点展开事件侦听
     * @param dataEntity
     */
    public void removeExpandListener(ITreeEventListener listener);
    
    /**
     * 移除树节点折叠事件侦听
     * @param dataEntity
     */
    public void removeCollapseListener(ITreeEventListener listener);
    
}
